//
//  MenuViewController.swift
//  elarc01
//
//  Created by elarc on 2016/11/7.
//  Copyright © 2016年 elarc. All rights reserved.
//

import Foundation

class MenuViewController: UIViewController,UITableViewDelegate,UITableViewDataSource {
    
      let tableView = UITableView(frame:CGRectMake(0, 0, ScreenWidth, ScreenHeight - NavigationH - 49),style:UITableViewStyle.Grouped)
    
    lazy var menuItems: NSArray = {
        let path = NSBundle.mainBundle().pathForResource("MenuItems", ofType: "plist")
        return NSArray(contentsOfFile: path!)!
    }()
    
    override func viewDidLoad() {
        super.viewDidLoad()
        self.view.backgroundColor = UIColor.randomColor()
        
        
        self.tableView.delegate = self
        self.tableView.dataSource = self
        self.tableView.separatorStyle = UITableViewCellSeparatorStyle.None
        self.view.addSubview(self.tableView)
//        navigationController!.navigationBar.clipsToBounds = true
//        (navigationController!.parentViewController as! ContainerViewController).menuItem = (menuItems[0] as! NSDictionary)
    }
    
    func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
        tableView.deselectRowAtIndexPath(indexPath, animated: true)
        let menuItem = menuItems[indexPath.row] as! NSDictionary
        (navigationController!.parentViewController as! ContainerViewController).menuItem = menuItem
    }
    
    func numberOfSectionsInTableView(tableView: UITableView) -> Int {
        return 1
    }
    
    func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        return menuItems.count
    }
    
    func tableView(tableView: UITableView, heightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat {
        return max(80, CGRectGetHeight(view.bounds) / CGFloat(menuItems.count))
    }
    
    func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
        
        let cellId = "MenuItemCell"
        var cell = tableView.dequeueReusableCellWithIdentifier(cellId) as? MenuItemCell
        if cell == nil {
            cell = MenuItemCell(style: UITableViewCellStyle.Default, reuseIdentifier: cellId)
        }
        let menuItem = menuItems[indexPath.row] as! NSDictionary
        cell!.configureForMenuItem(menuItem)
        return cell!
    }
}